package com.dc.commons.persistence.embeddable;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Transient;

import com.dc.commons.dict.Dictionary;

/*******************************************************************************<P>
 * 文件名: Member.java <br>
 * 版本: 1.0<br>
 * 描述:<br>
 * 版权所有: 用户  字典类 将 用户ID和 用户名称 作为映射，后续将数据从缓存中获取 <br>
 * <P>
 * 创建者: 王建栋 <br>
 * 创建日期: 2015年12月14日 下午9:27:19<br>
 * 修改者: <br>
 * 修改日期: <br>
 * 修改说明: <br>
 ******************************************************************************/
@Embeddable
public class Member implements Dictionary{
	
	public static final String CODE="code";
	
	public Member(){
	}
	public Member(String code){
		this.code=code;
	}
	/**
	 * 用户 Key
	 */
	private String code;
	
	/**
	 * 用户 名称
	 */
	private String name;

	/* (non-Javadoc)
	 * @see com.dc.commons.dict.Dictionary#getCode()
	 */
	@Override
	@Column(name="CODE",length=50)
	public String getCode() {
		return this.code;
	}

	/* (non-Javadoc)
	 * @see com.dc.commons.dict.Dictionary#getContent()
	 */
	@Override
	@Transient
	public String getName() {
		return this.name;
	}

	public void setCode(String code) {
		this.code = code;
		//TODO 调用缓存 获取名称
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Transient
	public Member name(String name){
		this.name=name;
		return this;
	}
	
	/**
	 *  快速创建 Operator 对象
	 * @param code
	 * @return Member
	 */
	@Transient
	public static Member valueOf(String code){
		return new Member(code);
	}
}
